Industrial automation is used to control many different machines and processes in manufacturing. Automated machines commonly control the handling of components, sub-components, and raw materials, perform fabrication processes, perform testing, and perform product handling, packaging, and shipping. Industrial automation enables precise control of industrial processes, achievement of smaller tolerances and better quality products, higher production outputs, and increased worker safety and productivity.
Industrial automation installations comprise multiple computerized devices that control industrial machines and industrial processes. The components of an industrial automation installation must work together in a coordinated fashion, performing operations such as exchanging data, controlling the timing and scheduling of processes, providing information to operators or technicians, and receiving operator inputs.
Increasingly, more and more of the typical industrial environment is automated. As a result, design and implementation of automation systems has become correspondingly more complex. This is especially true of industrial automation software. Creating industrial automation software increasingly requires teams of designers who may need to divide the software generation into tasks, with specific groups of designers creating each sub-unit of software.
Industrial automation software may include software sub-units for a plurality of automation devices. Industrial automation software may include software sub-units for automation devices of different manufacturers and/or of different protocols or standards. Industrial automation software may include software sub-units for automation devices that perform various tasks. Industrial automation software may include software sub-units for controlling the timing and interactions of various automation devices and processes.
Multiple software designers may work on a particular industrial automation software. The software designers may work on different portions of the industrial automation software. This can lead to access conflicts where multiple software designers try to work on the same portion of the industrial automation software. This can lead to software designers being unaware of each other's actions and as a result can make conflicting changes to the software. Further, where the software is very large and complex, individual software designers may have difficulty in finding or returning to a specific portion of the industrial automation software.